﻿--[[
    Ресурс сохраняет все глобальные переменные, включая МТА функции, в
    файл `mtasaGlobals_TIME.txt` в папке этого же ресурса. Юзайте
    команду /saveGlobals в чате или saveGlobals в консоли.

    Этот инструмент удобен для составления списков всех МТА функций
    для последующего их добавления в подсветку синтаксиса вашего
    редактора скриптов. Кроме этих функций в экспорт включены другие
    глобальные переменные. Например, такие как глобальные предопределенные
    МТА переменные.

    Ресурс разбивает все МТА функции на три категории:
      - только серверные
      - только клиентские
      - общие для сервера и клиента

    MX_Master, 18.05.2011 23:54:49, протестировано в MTA:SA 1.1
]]

-- таблицы для списков глобальных клиентских переменных
local tClientFuncList = {}
local tClientVarsList = {}

-- создаем списки
for i,v in pairs(_G) do
    if type(v) == 'function' then
        table.insert( tClientFuncList, tostring(i) )
--[[
    -- раскоментируйте, если нужно содержимое глобальных таблиц
    elseif type(v) == 'table' and v ~= _G then
        for subI,subV in pairs(v) do
            if type(subV) == 'function' then
                table.insert( tClientFuncList, tostring(i)..'.'..tostring(subI) )
            end
        end
]]
    else
        table.insert( tClientVarsList, tostring(i) )
    end
end

-- событие вызывается сервером для получения списков
addEvent( 'getClientGlobals', true )
addEventHandler( 'getClientGlobals', root,
    function()
        outputChatBox( 'Получен запрос от сервера', 255,0,0 )
        outputChatBox( 'Отправка клиентских переменных серверу..', 255,0,0 )
        triggerServerEvent( 'onGlobalsList', localPlayer, getVersion(), tClientFuncList, tClientVarsList )
    end
)
